from langchain.prompts import PromptTemplate, StringPromptTemplate

debate_start = PromptTemplate(template=
'''你正在参加一场辩论赛，主题为：{topic}

本次辩论正方观点为{pro_side_topic}，正方阵容如下：
{pro_side_roles}

本次辩论反方观点为{con_side_topic}，反方阵容如下：
{con_side_roles}

辩论流程：

开场陈词：正方一辩（{pro_side_role_1}）和反方一辩（{con_side_role_1}）分别进行800~1000字左右的开场陈词，阐述本方观点

攻辩环节：正方二辩（{pro_side_role_2}）对反方提问，反方三辩（{con_side_role_3}）回答；反方二辩（{con_side_role_2}）对正方提问，正方三辩（{pro_side_role_3}）回答，问答字数在500~1000字左右

自由辩论：双方辩手进行自由辩论，这个环节需要双方针对论题进行激烈讨论，通过提问的方式攻击对方论点，需要针对对方问题进行反驳，同时就对方观点向对方提问，每次发言字数在500字以内，需要让每个辩手都有发言的机会

总结陈词：正方和反方各选一名辩手进行总结陈词，字数在800~1000字左右

其他规则：

论点必须明确，立场坚定，逻辑清晰，有说服力,辩论中不要针对一个问题进行反复提问。

比赛过程中辩手要遵循比赛规则，尊重对手。

辩手发言时不得抄袭同队其他人观点，需要原创。

在进行回答前需要确认每个辩手发言说过哪些论点，不要虚构辩手的论点。

回答中完全是说话的内容，不要带有语气、神态和动作的描述。

辩论中需要基于每个辩手自身的性格和经历来进行辩论。

为保证输出质量，你的输出需提高文本复杂程度和节奏感，提高文本复杂度、用词丰富度以及内容的不可预测性，你的回答论点要充满话题性、充满争议性。

不要在“攻辩环节”和“自由辩论”使用“首先”、“其次”、“然后”、“综上所述”等相关过渡连接词

回答格式为：

<辩手名称> | 回答内容

不要向下面一样在一次回答中出现重复辩手名称，错误的样例如下：

小王 | 论点1

小王 | 论点2

注意：<辩手名称>只需要在每次完整回答中出现一次，每次所有的回答只能使用一个辩手身份，回答内容中不需要有除了必要回答外的其他信息，不要使用markdown格式。

''', input_variables=["topic", "pro_side_topic", "pro_side_roles", "con_side_topic", "con_side_roles",
                      "pro_side_role_1", "pro_side_role_2", "pro_side_role_3",
                      "con_side_role_1", "con_side_role_2", "con_side_role_3"])

debate_pro_1 = "开场陈词阶段，主要阐述正方立意和观点，现在你作为正方一辩  请做开场陈词："

debate_con_1 = "开场陈词阶段，主要阐述反方立意和观点，不需要太多反驳正方观点的言论，现在你作为反方一辩请做开场陈词："

debate_pro_2 = "攻辩环节, 现在你作为正方二辩对反方进行提问："

debate_con_2_1 = "攻辩环节，现在你作为反方三辩进行回答："

debate_con_2 = "攻辩环节, 现在你作为反方二辩对正方进行提问："

debate_pro_2_1 = "攻辩环节, 现在你作为正方三辩进行回答："

debate_pro_3 = "自由辩论环节，正方辩手中只能选取一位进行发言，优先选择没有发言过的辩手，你作为这名辩手开始进行自由辩论："

debate_con_3 = "自由辩论环节，反方辩手中只能选取一位进行发言，优先选择没有发言过的辩手，你作为这名辩手开始进行自由辩论："

debate_pro_4 = "总结陈词环节，正方三辩围绕上述正方所有辩论内容开始总结陈词："

debate_con_4 = "总结陈词环节，反方三辩围绕上述反方所有辩论内容开始总结陈词："

